package cn.guxinhu.billsystem.utils;

import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.UUID;

/**
 * @author Guxinhu
 * @create 2021-05-26 10:22
 */
@Service
// 图片上传和删除的工具类
public class PictureTools {
    // 图片上传的方法 重载
    public static String getPictureUpload(MultipartFile file) {
        return getPictureUpload(file, "X:\\bill\\");
    }

    // 图片上传的方法
    public static String getPictureUpload(MultipartFile file, String path) {
        try {
            //保存数据库的路径
            String sqlPath = null;
            //定义文件保存的本地路径 "X:\\bill\\"
            String localPath = path;
            //定义 文件名
            String filename = null;
            if (!file.isEmpty()) {
                //生成uuid作为文件名称
                String uuid = UUID.randomUUID().toString().replaceAll("-", "");
                //获得文件类型（可以判断如果不是图片，禁止上传）
                String contentType = file.getContentType();
                //获得文件后缀名
                String suffixName = contentType.substring(contentType.indexOf("/") + 1);
                //得到 文件名
                filename = uuid + "." + suffixName;
                //文件保存路径
                file.transferTo(new File(localPath + filename));
            }
            //把图片的相对路径保存至数据库
            sqlPath = "bill\\" + filename;
            return sqlPath;
        } catch (Exception e) {
        }
        return null;
    }

    // 图片删除的方法 重载
    public static String PictureDelete(String sqlPath) {
        return PictureDelete("X:\\" + sqlPath, 1);
    }

    // 图片删除的方法
    public static String PictureDelete(String sqlPath, int i) {
        File file = new File(sqlPath);
        if (file.isFile()) {
            file.delete();
            System.out.println("删除成功");
        } else {
            System.out.println("无文件");
        }
        return null;
    }
}
